﻿@{
    string _prefix = "Role";
    var _treeId = _prefix + "Tree";
    var _gridId = _prefix + "Grid";
    var _treeDetail = _prefix + "Detail";
}
<div class="bjui-pageContent">
    <div class="clearfix">
        <div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
            <ul id="@_treeId" class="ztree"></ul>
        </div>

        <div id="@_treeDetail" style="margin-left: 225px;">
        </div>
    </div>
</div>


<script type="text/javascript">
    var gridid = '#@_gridId';
    var selectedId = 0;
    $(document).ready(function () {
        initZtree();
        loadDataGrid();
    });
    //加载数据到datagrid
    function loadDataGrid() {
        //b-jui的datagrid需要重新处理HTML
        $('#@_treeDetail').empty()
            .append('<table id="@_gridId" class="table table-bordered"></table>');

        $(gridid).datagrid({
            gridTitle: '列表',
            showToolbar: true,
            filterThead: false,
            toolbarItem: 'refresh, |, del',
            toolbarCustom: '<a href="/RoleManager/Add" class="btn btn-green" data-icon ="plus"  ' +
                'data-toggle="dialog" data-id="dialog-mask" data-mask="true" data-on-close="refreshGrid">添加</a>' +
                '<button class=" btn-green" onclick="editRole()" data-icon="pencil" type="button">编辑</button>'+
                  '<button type="button" class="btn btn-green" onclick="openModuleAccess(this)">为角色分配模块</button>',
            columns: [
               {
                    name: 'Id',
                    label: '流水号'
                    , hide: true
               },    
               {
                    name: 'Name',
                    label: '角色名称',
                   width:100
               },    
               {
                    name: 'Status',
                    label: '当前状态',
                    type: 'select',
                    align: 'center',
                   items:[{'0':'正常','1':'禁用'}],
                   width:50
               },    
               {
                    name: 'Type',
                    label: '角色类型',
                    type: 'select',
                    align: 'center',
                    items: [{ '0': '管理员','1':'普通角色' }],
                   width:50
               },    
               {
                    name: 'CreateTime',
                    label: '创建时间'
                    , type: 'date',
                    width: 150,
                    pattern: 'yyyy-MM-dd HH:mm:ss'
               },       
              
               {
                    name: 'OrgCascadeId',
                    label: '所属部门节点语义ID',
                   width:100
               },    
               {
                    name: 'OrgName',
                    label: '所属部门名称',
                   width:100
               }   
            ],
            dataUrl: 'RoleManager/Load?orgId=' + selectedId,
            delUrl: 'RoleManager/Delete',
            delPK: "Id",
            fullGrid: true,
            showLinenumber: true,
            showCheckboxcol: true,
            paging: true,
            filterMult: false,
            showTfoot: true,
            height: '700',
            delCallback: function (delResult) {
                if (delResult.statusCode == "200")
                    loadDataGrid();
                else {
                    $(this).alertmsg('warn', delResult.message);
                }
            }
        });
    }

    function zTreeOnClick(event, treeId, treeNode) {
        selectedId = treeNode.Id;
        loadDataGrid();
    }

    function initZtree() {
        var setting = {
            view: {selectedMulti: false},
            data: {
                key: {
                    name: 'Name',
                    title: 'Name'
                },
                simpleData: {
                    enable: true,
                    idKey: 'Id',
                    pIdKey: 'ParentId',
                    rootPId: 'null'
                }
            },
            callback: {onClick: zTreeOnClick}
        };
        $.getJSON('OrgManager/LoadOrg', function (json) {
            var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
            zTreeObj.expandAll(true);
        });
    }

    //获取勾选的值
    //column:为从0开始的列标识
    function getSelected(column) {
        var selected = $(gridid).data('selectedTrs');
        if (selected == null || selected.length == 0) {
            $(this).alertmsg('warn', '至少选择一个对象', {
                displayMode: 'slide',
                title: '重要提示'
            });
            return null;
        }

        //todo：下面这段只能chrome有效
        var records = new Array();
        selected.each(function () {
            records[records.length] = this.children[column].innerText;
        });

        return records[0];
    }



    //自定义的编辑按钮
    function editRole() {
        var selected = getSelected(2);
        if (selected == null) return;

        $(this).dialog({
            id: 'editDialog',
            url: '/RoleManager/Add?id=' + selected,
            title: '编辑',
            onClose:function() {
                refreshGrid();
            }
        });

    }

    function refreshGrid() {
        $('#@_gridId').datagrid('refresh');
       // loadDataGrid();
    }

    //用户模块授权按钮
    function openModuleAccess(obj) {

        var selected = getSelected(2);
        if (selected == null) return;

        $(obj).dialog({
            id: 'accessRoleModule',
            url: '/ModuleManager/LookupMultiForRole',
            title: '为角色分配模块',
            data: {
                roleid: selected
            }
        });
    }

    //@@ sourceURL=RoleManagerIndex.js
</script>
